24f48b2e6cfdeb5882738b1797c88233742dba59,dependencymanager/annotation/src/main/java/org/apache/felix/dm/annotation/plugin/bnd/AnnotationCollector.java,AnnotationCollector,parseResourceAdapterService,#Annotation#,781

Before Change


        parseParameters(annotation, Params.properties, info);

        // Parse the optional adapter service (use directly implemented interface by default).
        Object service = annotation.get(Params.service.toString());
        if (service == null) {
            if (m_interfaces == null)
            {
                throw new IllegalStateException("Invalid ResourceAdapterService annotation: " +
                    "the service attribute has not been set and the class " + m_className + 
                    " does not implement any interfaces");
            }
            if (m_interfaces.length != 1) 
            {
                throw new IllegalStateException("Invalid ResourceAdapterService annotation: " +
                    "the service attribute has not been set and the class " + m_className +
                    " implements more than one interface");
            }
            
            info.addParam(Params.service, m_interfaces[0]);
        } else 
        {
            checkClassImplements(annotation, Params.service);
            info.addClassParam(annotation, Params.service, null);
        }
        
        // Parse propagate attribute

After Change


        parseParameters(annotation, Params.properties, info);

        // Parse the optional adapter service (use directly implemented interface by default).
        info.addClassParam(annotation, Params.service, m_interfaces);
        
        // Parse propagate attribute
        info.addParam(annotation, Params.propagate, Boolean.FALSE);